Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Visual servoing</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Visual_servoing"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.tmh.player.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Visual_servoing rootpage-Visual_servoing skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Visual servoing</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p><b>Visual servoing</b>, also known as <b>vision-based robot control</b> and abbreviated <b>VS</b>, is a technique which uses feedback information extracted from a vision sensor (visual feedback<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>) to control the motion of a <a href="Robot" title="Robot">robot</a>. One of the earliest papers that talks about visual servoing was from the SRI International Labs in 1979.<sup id="cite_ref-Agin1979_2-0" class="reference"><a href="#cite_note-Agin1979-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Visual_servoing_taxonomy">Visual servoing taxonomy</h2></div>

<p>There are two fundamental configurations of the robot end-effector (hand) and the camera:<sup id="cite_ref-Chaumette07_4-0" class="reference"><a href="#cite_note-Chaumette07-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Eye-in-hand, or end-point open-loop control, where the camera is attached to the moving hand and observing the relative position of the target.</li>
<li>Eye-to-hand, or end-point closed-loop control, where the camera is fixed in the world and observing the target and the motion of the hand.</li></ul>
<p>Visual Servoing control techniques are broadly classified into the following types:<sup id="cite_ref-Hutchinson1996_5-0" class="reference"><a href="#cite_note-Hutchinson1996-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Chaumette06_6-0" class="reference"><a href="#cite_note-Chaumette06-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Image-based (IBVS)</li>
<li>Position/<a href="Pose_(computer_vision)" title="Pose (computer vision)">pose</a>-based (PBVS)</li>
<li>Hybrid approach</li></ul>
<p>IBVS was proposed by Weiss and Sanderson.<sup id="cite_ref-Weiss83_7-0" class="reference"><a href="#cite_note-Weiss83-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> The control law is based on the error between current and desired features on the image plane, and does not involve any estimate of the pose of the target. The features may be the coordinates of visual features, lines or moments of regions. IBVS has difficulties<sup id="cite_ref-Chaumette98_8-0" class="reference"><a href="#cite_note-Chaumette98-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> with motions very large rotations, which has come to be called camera retreat.<sup id="cite_ref-Corke00_9-0" class="reference"><a href="#cite_note-Corke00-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p><p>PBVS is a model-based technique (with a single camera). This is because the pose of the object of interest is estimated with respect to the camera and then a command is issued to the robot controller, which in turn controls the robot. In this case the image features are extracted as well, but are additionally used to estimate 3D information (<a href="3D_pose_estimation" title="3D pose estimation">pose of the object</a> in Cartesian space), hence it is servoing in 3D.
</p><p>Hybrid approaches use some combination of the 2D and 3D servoing. There have been a few different approaches to hybrid servoing
</p>
<ul><li>2-1/2-D Servoing<sup id="cite_ref-Malis99_10-0" class="reference"><a href="#cite_note-Malis99-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup></li>
<li>Motion partition-based</li>
<li>Partitioned DOF Based<sup id="cite_ref-Corke00_9-1" class="reference"><a href="#cite_note-Corke00-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Survey">Survey</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */


.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style>
<p>The following description of the prior work is divided into 3 parts
</p>
<ul><li>Survey of existing visual servoing methods.</li>
<li>Various features used and their impacts on visual servoing.</li>
<li>Error and stability analysis of visual servoing schemes.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Survey_of_existing_visual_servoing_methods">Survey of existing visual servoing methods</h3></div>
<p>Visual servo systems, also called servoing, have been around since the early 1980s
,<sup id="cite_ref-Agin79_11-0" class="reference"><a href="#cite_note-Agin79-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> although the term visual servo itself was only coined in 1987.<sup id="cite_ref-Chaumette07_4-1" class="reference"><a href="#cite_note-Chaumette07-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Hutchinson1996_5-1" class="reference"><a href="#cite_note-Hutchinson1996-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Chaumette06_6-1" class="reference"><a href="#cite_note-Chaumette06-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
Visual Servoing is, in essence, a method for robot control where the sensor used is a camera (visual sensor).
Servoing consists primarily of two techniques,<sup id="cite_ref-Chaumette06_6-2" class="reference"><a href="#cite_note-Chaumette06-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
one involves using information from the image to directly control the degrees of freedom (DOF) of the robot, thus referred to as Image Based Visual Servoing (IBVS).
While the other involves the geometric interpretation of the information extracted from the camera, such as estimating the pose of the target and parameters of the camera (assuming some basic model of the target is known). Other servoing classifications exist based on the variations in each component of a servoing system
,<sup id="cite_ref-Hutchinson1996_5-2" class="reference"><a href="#cite_note-Hutchinson1996-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
e.g. the location of the camera, the two kinds are eye-in-hand and hand–eye configurations.
Based on the control loop, the two kinds are end-point-open-loop and end-point-closed-loop. Based on whether the control is applied to the joints (or DOF)
directly or as a position command to a robot controller the two types are
direct servoing and dynamic look-and-move.
Being one of the earliest works <sup id="cite_ref-Lee87_12-0" class="reference"><a href="#cite_note-Lee87-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
the authors proposed a hierarchical
visual servo scheme applied to image-based servoing. The technique relies on
the assumption that a good set of features can be extracted from the object
of interest (e.g. edges, corners and centroids) and used as a partial model
along with global models of the scene and robot. The control strategy is
applied to a simulation of a two and three DOF robot arm.
</p><p>Feddema et al.<sup id="cite_ref-Feddema89_13-0" class="reference"><a href="#cite_note-Feddema89-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
introduced the idea of generating task trajectory
with respect to the feature velocity. This is to ensure that the sensors are
not rendered ineffective (stopping the feedback) for any the robot motions.
The authors assume that the objects are known a priori (e.g. CAD model)
and all the features can be extracted from the object.
The work by Espiau et al.<sup id="cite_ref-Espiau92_14-0" class="reference"><a href="#cite_note-Espiau92-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
discusses some of the basic questions in
visual servoing. The discussions concentrate on modeling of the interaction
matrix, camera, visual features (points, lines, etc..).
In <sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
an adaptive servoing system was proposed with a look-and-move
servoing architecture. The method used optical flow along with SSD to
provide a confidence metric and a stochastic controller with Kalman filtering
for the control scheme. The system assumes (in the examples) that the plane
of the camera and the plane of the features are parallel.,<sup id="cite_ref-ReferenceA_16-0" class="reference"><a href="#cite_note-ReferenceA-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> discusses an approach of velocity control using the Jacobian relationship s˙ = Jv˙ . In addition the author uses Kalman filtering, assuming that
the extracted position of the target have inherent errors (sensor errors). A
model of the target velocity is developed and used as a feed-forward input
in the control loop. Also, mentions the importance of looking into kinematic
discrepancy, dynamic effects, repeatability, settling time oscillations and lag
in response.
</p><p>Corke <sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> poses a set of very critical questions on visual servoing and tries
to elaborate on their implications. The paper primarily focuses the dynamics
of visual servoing. The author tries to address problems like lag and stability,
while also talking about feed-forward paths in the control loop. The paper
also, tries to seek justification for trajectory generation, methodology of axis
control and development of performance metrics.
</p><p>Chaumette in <sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> provides good insight into the two major problems with
IBVS. One, servoing to a local minima and second, reaching a Jacobian singularity. The author show that image points alone do not make good features
due to the occurrence of singularities. The paper continues, by discussing the
possible additional checks to prevent singularities namely, condition numbers
of J_s and Jˆ+_s, to check the null space of ˆ J_s and J^T_s . One main point that
the author highlights is the relation between local minima and unrealizable
image feature motions.
</p><p>Over the years many hybrid techniques have been developed.<sup id="cite_ref-Chaumette07_4-2" class="reference"><a href="#cite_note-Chaumette07-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> These
involve computing partial/complete pose from Epipolar Geometry using multiple views or multiple cameras. The values are obtained by direct estimation or through a learning or a statistical scheme. While others have used
a switching approach that changes between image-based and position-based
on a Lyapnov function.<sup id="cite_ref-Chaumette07_4-3" class="reference"><a href="#cite_note-Chaumette07-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
The early hybrid techniques that used a combination of image-based and
pose-based (2D and 3D information) approaches for servoing required either
a full or partial model of the object in order to extract the pose information
and used a variety of techniques to extract the motion information from the
image.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> used an affine motion model from the image motion in addition
to a rough polyhedral CAD model to extract the object pose with respect to
the camera to be able to servo onto the object (on the lines of PBVS).
</p><p>2-1/2-D visual servoing developed by Malis et al.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> is a well known technique that breaks down the information required for servoing into an organized fashion which decouples rotations and translations. The papers
assume that the desired pose is known a priori. The rotational information is
obtained from partial pose estimation, a homography, (essentially 3D information) giving an axis of rotation and the angle (by computing the eigenvalues and eigenvectors of the homography). The translational information is
obtained from the image directly by tracking a set of feature points. The only
conditions being that the feature points being tracked never leave the field of
view and that a depth estimate be predetermined by some off-line technique.
2-1/2-D servoing has been shown to be more stable than the techniques that
preceded it. Another interesting observation with this formulation is that
the authors claim that the visual Jacobian will have no singularities during
the motions.
The hybrid technique developed by Corke and Hutchinson,<sup id="cite_ref-ReferenceB_21-0" class="reference"><a href="#cite_note-ReferenceB-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-ReferenceC_22-0" class="reference"><a href="#cite_note-ReferenceC-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> popularly called portioned approach partitions the visual (or image) Jacobian into
motions (both rotations and translations) relating X and Y axes and motions related to the Z axis.<sup id="cite_ref-ReferenceC_22-1" class="reference"><a href="#cite_note-ReferenceC-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> outlines the technique, to break out columns
of the visual Jacobian that correspond to the Z axis translation and rotation
(namely, the third and sixth columns). The partitioned approach is shown to
handle the Chaumette Conundrum discussed in.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> This technique requires
a good depth estimate in order to function properly.
<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> outlines a hybrid approach where the servoing task is split into two,
namely main and secondary. The main task is keep the features of interest within the field of view. While the secondary task is to mark a fixation
point and use it as a reference to bring the camera to the desired pose. The
technique does need a depth estimate from an off-line procedure. The paper
discusses two examples for which depth estimates are obtained from robot
odometry and by assuming that all features are on a plane. The secondary
task is achieved by using the notion of parallax. The features that are tracked
are chosen by an initialization performed on the first frame, which are typically points.
<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> carries out a discussion on two aspects of visual servoing, feature
modeling and model-based tracking. Primary assumption made is that the
3D model of the object is available. The authors highlights the notion that
ideal features should be chosen such that the DOF of motion can be decoupled
by linear relation. The authors also introduce an estimate of the target
velocity into the interaction matrix to improve tracking performance. The
results are compared to well known servoing techniques even when occlusions
occur.
</p>
<div class="mw-heading mw-heading3"><h3 id="Various_features_used_and_their_impacts_on_visual_servoing">Various features used and their impacts on visual servoing</h3></div>
<p>This section discusses the work done in the field of visual servoing. We try
to track the various techniques in the use of features. Most of the work
has used image points as visual features. The formulation of the interaction
matrix in <sup id="cite_ref-Hutchinson1996_5-3" class="reference"><a href="#cite_note-Hutchinson1996-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> assumes points in the image are used to represent the target.
There has some body of work that deviates from the use of points and use
feature regions, lines, image moments and moment invariants.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup>
In,<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> the authors discuss an affine based tracking of image features.
The image features are chosen based on a discrepancy measure, which is
based on the deformation that the features undergo. The features used were
texture patches. One of key points of the paper was that it highlighted the
need to look at features for improving visual servoing.
In <sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> the authors look into choice of image features (the same question
was also discussed in <sup id="cite_ref-Hutchinson1996_5-4" class="reference"><a href="#cite_note-Hutchinson1996-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> in the context of tracking). The effect of the choice
of image features on the control law is discussed with respect to just the
depth axis. Authors consider the distance between feature points and the
area of an object as features. These features are used in the control law with
slightly different forms to highlight the effects on performance. It was noted
that better performance was achieved when the servo error was proportional
to the change in depth axis.
<sup id="cite_ref-chaumette02_29-0" class="reference"><a href="#cite_note-chaumette02-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> provides one of the early discussions of the use of moments. The
authors provide a new formulation of the interaction matrix using the velocity
of the moments in the image, albeit complicated. Even though the moments
are used, the moments are of the small change in the location of contour
points with the use of Green’s theorem. The paper also tries to determine
the set of features (on a plane) to for a 6 DOF robot.
In <sup id="cite_ref-chaumette04_30-0" class="reference"><a href="#cite_note-chaumette04-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> discusses the use of image moments to formulate the visual Jacobian.
This formulation allows for decoupling of the DOF based on type of moments
chosen. The simple case of this formulation is notionally similar to the 2-1/2-
D servoing.<sup id="cite_ref-chaumette04_30-1" class="reference"><a href="#cite_note-chaumette04-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> The time variation of the moments (m˙ij) are determined using
the motion between two images and Greens Theorem. The relation between
m˙ij and the velocity screw (v) is given as m˙_ij = L_m_ij v. This technique
avoids camera calibration by assuming that the objects are planar and using
a depth estimate. The technique works well in the planar case but tends to
be complicated in the general case. The basic idea is based on the work in [4]
Moment Invariants have been used in.<sup id="cite_ref-tahri03_31-0" class="reference"><a href="#cite_note-tahri03-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> The key idea being to find
the feature vector that decouples all the DOF of motion. Some observations
made were that centralized moments are invariant for 2D translations. A
complicated polynomial form is developed for 2D rotations. The technique
follows teaching-by-showing, hence requiring the values of desired depth and
area of object (assuming that the plane of camera and object are parallel,
and the object is planar). Other parts of the feature vector are invariants
R3, R4. The authors claim that occlusions can be handled.
<sup id="cite_ref-tahri04_32-0" class="reference"><a href="#cite_note-tahri04-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> and <sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> build on the work described in.<sup id="cite_ref-chaumette02_29-1" class="reference"><a href="#cite_note-chaumette02-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-tahri03_31-1" class="reference"><a href="#cite_note-tahri03-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-tahri04_32-1" class="reference"><a href="#cite_note-tahri04-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> The major differ-
ence being that the authors use a technique similar to,<sup id="cite_ref-ReferenceA_16-1" class="reference"><a href="#cite_note-ReferenceA-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> where the task is
broken into two (in the case where the features are not parallel to the cam-
era plane). A virtual rotation is performed to bring the featured parallel to
the camera plane.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> consolidates the work done by the authors on image
moments.
</p>
<div class="mw-heading mw-heading3"><h3 id="Error_and_stability_analysis_of_visual_servoing_schemes">Error and stability analysis of visual servoing schemes</h3></div>
<p>Espiau in <sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> showed from purely experimental work that image based visual servoing (IBVS)
is robust to calibration errors. The author used a camera with no explicit
calibration along with point matching and without pose estimation. The
paper looks at the effect of errors and uncertainty on the terms in the interaction matrix from an experimental approach. The targets used were points
and were assumed to be planar.
</p><p>A similar study was done in <sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup> where the
authors carry out experimental evaluation of a few uncalibrated visual servo
systems that were popular in the 90’s. The major outcome was the experimental evidence of the effectiveness of visual servo control over conventional
control methods.
Kyrki et al.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> analyze servoing errors for position based and 2-1/2-D
visual servoing. The technique involves determining the error in extracting
image position and propagating it to pose estimation and servoing control.
Points from the image are mapped to points in the world a priori to obtain a mapping (which is basically the homography, although not explicitly stated
in the paper). This mapping is broken down to pure rotations and translations. Pose estimation is performed using standard technique from Computer
Vision. Pixel errors are transformed to the pose. These are propagating to
the controller. An observation from the analysis shows that errors in the
image plane are proportional to the depth and error in the depth-axis is
proportional to square of depth.
Measurement errors in visual servoing have been looked into extensively.
Most error functions relate to two aspects of visual servoing. One being
steady state error (once servoed) and two on the stability of the control
loop. Other servoing errors that have been of interest are those that arise
from pose estimation and camera calibration. In,<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup> the authors extend the
work done in <sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup> by considering global stability in the presence of intrinsic
and extrinsic calibration errors.<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup> provides an approach to bound the task
function tracking error. In,<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup> the authors use teaching-by-showing visual
servoing technique. Where the desired pose is known a priori and the robot
is moved from a given pose. The main aim of the paper is to determine the
upper bound on the positioning error due to image noise using a convex-
optimization technique.
<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup> provides a discussion on stability analysis with respect the uncertainty
in depth estimates. The authors conclude the paper with the observation that
for unknown target geometry a more accurate depth estimate is required in
order to limit the error.
Many of the visual servoing techniques <sup id="cite_ref-ReferenceB_21-1" class="reference"><a href="#cite_note-ReferenceB-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-ReferenceC_22-2" class="reference"><a href="#cite_note-ReferenceC-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> implicitly assume that
only one object is present in the image and the relevant feature for tracking
along with the area of the object are available. Most techniques require either
a partial pose estimate or a precise depth estimate of the current and desired
pose.
</p>
<div class="mw-heading mw-heading2"><h2 id="Software">Software</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://sourceforge.net/projects/vstoolbox">Matlab toolbox for visual servoing</a>.</li>
<li><a rel="nofollow" class="external text" href="http://www.robot.uji.es/research/projects/javiss">Java-based visual servoing simulator.</a></li>
<li><a rel="nofollow" class="external text" href="http://www.irisa.fr/lagadic/visp">ViSP</a> (ViSP states for "Visual Servoing Platform") is a modular software that allows fast development of visual servoing applications.<sup id="cite_ref-Marchand05a_44-0" class="reference"><a href="#cite_note-Marchand05a-44"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Robotics" title="Robotics">Robotics</a></li>
<li><a href="Robot" title="Robot">Robot</a></li>
<li><a href="Computer_Vision" class="mw-redirect" title="Computer Vision">Computer Vision</a></li>
<li><a href="Machine_Vision" class="mw-redirect" title="Machine Vision">Machine Vision</a></li>
<li><a href="Robot_control" title="Robot control">Robot control</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width reflist-columns-2">
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.k2.t.u-tokyo.ac.jp/tech_terms/index-e.html#VisualFeedback">"Basic Concept and Technical Terms"</a>. <i>Ishikawa Watanabe Laboratory, University of Tokyo</i><span class="reference-accessdate">. Retrieved <span class="nowrap">12 February</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-Agin1979-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-Agin1979_2-0">^</a></b></span> <span class="reference-text">Agin, G.J., "Real Time Control of a Robot with a Mobile Camera". Technical Note 179, SRI International, Feb. 1979.</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.k2.t.u-tokyo.ac.jp/fusion/MiraikanCatching/index-e.html">"High-speed Catching System (exhibited in National Museum of Emerging Science and Innovation since 2005)"</a>. <i>Ishikawa Watanabe Laboratory, University of Tokyo</i><span class="reference-accessdate">. Retrieved <span class="nowrap">12 February</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-Chaumette07-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-Chaumette07_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Chaumette07_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Chaumette07_4-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Chaumette07_4-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text">F. Chaumette, S. Hutchinson. <a rel="nofollow" class="external text" href="http://www.irisa.fr/lagadic/publi/publi/Chaumette07a-eng.html">Visual Servo Control, Part II: Advanced Approaches.</a> IEEE Robotics and Automation Magazine, 14(1):109-118, March 2007</span>
</li>
<li id="cite_note-Hutchinson1996-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-Hutchinson1996_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Hutchinson1996_5-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Hutchinson1996_5-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Hutchinson1996_5-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Hutchinson1996_5-4"><sup><i><b>e</b></i></sup></a></span> <span class="reference-text">S. A. Hutchinson, G. D. Hager, and P. I. Corke. <a rel="nofollow" class="external text" href="http://citeseer.ist.psu.edu/76215.html">A tutorial on visual servo control.</a> IEEE Trans. Robot. Automat., 12(5):651--670, Oct. 1996.</span>
</li>
<li id="cite_note-Chaumette06-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-Chaumette06_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Chaumette06_6-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Chaumette06_6-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">F. Chaumette, S. Hutchinson. <a rel="nofollow" class="external text" href="http://www.irisa.fr/lagadic/publi/publi/Chaumette06a-eng.html">Visual Servo Control, Part I: Basic Approaches.</a> IEEE Robotics and Automation Magazine, 13(4):82-90, December 2006</span>
</li>
<li id="cite_note-Weiss83-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-Weiss83_7-0">^</a></b></span> <span class="reference-text">A. C. Sanderson and L. E. Weiss. Adaptive visual servo control of robots. In A. Pugh, editor, Robot Vision, pages 107–116. IFS, 1983</span>
</li>
<li id="cite_note-Chaumette98-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-Chaumette98_8-0">^</a></b></span> <span class="reference-text">F. Chaumette. Potential problems of stability and convergence in image-based and position-based visual servoing. In D. Kriegman, G. Hager, and S. Morse, editors, The confluence of vision and control, volume 237 of Lecture Notes in Control and Information Sciences, pages 66–78. Springer-Verlag, 1998.</span>
</li>
<li id="cite_note-Corke00-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-Corke00_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Corke00_9-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFP._Corke_and_S._A._Hutchinson2001" class="citation cs2">P. Corke and S. A. Hutchinson (August 2001), "A new partitioned approach to image-based visual servo control", <i>IEEE Trans. Robot. Autom.</i>, <b>17</b> (4): <span class="nowrap">507–</span>515, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F70.954764">10.1109/70.954764</a></cite></span>
</li>
<li id="cite_note-Malis99-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-Malis99_10-0">^</a></b></span> <span class="reference-text">E. Malis, F. Chaumette and S. Boudet, 2.5 D visual servoing, IEEE Transactions on Robotics and Automation, 15(2):238-250, 1999</span>
</li>
<li id="cite_note-Agin79-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Agin79_11-0">^</a></b></span> <span class="reference-text">G. J. Agin. Computer vision system for industrial inspection and assembly. IEEE
Computer, pages 11–20, 1979</span>
</li>
<li id="cite_note-Lee87-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-Lee87_12-0">^</a></b></span> <span class="reference-text">Lee E. Weiss, Arthur C. Sanderson, and Charles P. Neuman. Dynamic sensor-based control of robots with visual feedback. IEEE Transactions on Robotics and Automation, 3(5):404–417, October 1987</span>
</li>
<li id="cite_note-Feddema89-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-Feddema89_13-0">^</a></b></span> <span class="reference-text">J. T. Feddema and O. R. Mitchell. Vision-guided servoing with feature-based tra- jectory generation. IEEE Transactions on Robotics and Automation, 5(5):691–700, October 1989</span>
</li>
<li id="cite_note-Espiau92-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-Espiau92_14-0">^</a></b></span> <span class="reference-text">B. Espiau, F. Chaumette, and P. Rives. A new approach to visual servoing in robotics. IEEE Transactions on Robotics and Automation, 8(3):313–326, June 1992</span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text">N.P. Papanikopoulos and Khosla P. K. Adaptive robotic visual tracking: Theory and experiments. IEEE Transactions on Automatic Control, 38(3):429–445, March 1993</span>
</li>
<li id="cite_note-ReferenceA-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-ReferenceA_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-ReferenceA_16-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">P. Corke. Experiments in high-performance robotic visual servoing. In International Symposium on Experimental Robotics, October 1993</span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">P. Corke. Dynamic issues in robot visual-servo systems. In International Symposium on Robotics Research, pages 488–498, 1995.</span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text">F. Chaumette. Potential problems of stability and convergence on image-based and position-based visual servoing. In D. Kriegman, G. Hagar, and S. Morse, editors, Con- fluence of Vision and Control, Lecture Notes in Control and Information Systems, volume 237, pages 66–78. Springer-Verlag, 1998</span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text">E Marchand, P. Bouthemy, F Chaumette, and V. Moreau. Robust visual tracking by coupling 2d and 3d pose estimation. In Proceedings of IEEE International Conference on Image Processing, 1999.</span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text">E. Malis. Hybrid vision-based robot control robust to large calibration errors on both intrinsic and extrinsic camera parameters. In European Control Conference, pages 289–293, September 2001.</span>
</li>
<li id="cite_note-ReferenceB-21"><span class="mw-cite-backlink">^ <a href="#cite_ref-ReferenceB_21-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-ReferenceB_21-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">P. Corke and S. Hutchinson. A new hybrid image-based visual servo control scheme. In Proceedings of the 39th IEEE Conference on Decision and control, December 2000</span>
</li>
<li id="cite_note-ReferenceC-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-ReferenceC_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-ReferenceC_22-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-ReferenceC_22-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text">P. Corke and S. Hutchinson. A new partitioned approach to image-based visual servo control. IEEE Transactions on Robotics and Automation, 17(4):507–515, August 2001</span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text">F. Chaumette. Potential problems of stability and convergence on image-based and position-based visual servoing. In D. Kriegman, G. Hagar, and S. Morse, editors, Confluence of Vision and Control, Lecture Notes in Control and Information Systems, volume 237, pages 66–78. Springer-Verlag, 1998</span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text">C. Collewet and F. Chaumette. Positioning a camera with respect to planar objects of unknown shapes by coupling 2-d visual servoing and 3-d estimations. IEEE Transactions on Robotics and Automation, 18(3):322–333, June 2002</span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text">F. Chaumette and E. Marchand. Recent results in visual servoing for robotics applications, 2013</span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text">N. Andreff, B. Espiau, and R. Horaud. Visual servoing from lines. In In International Conference on Robotics and Automation, San Francisco, April 2000</span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text">J. Shi and C. Tomasi. Good features to track. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 593–600, 1994</span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text">R. Mahony, P. Corke, and F. Chaumette. Choice of image features for depth-axis control in image based visual servo control. In Proceedings of the IEEE Conference on Intelligent Robots and Systems, pages 390–395, October 2002</span>
</li>
<li id="cite_note-chaumette02-29"><span class="mw-cite-backlink">^ <a href="#cite_ref-chaumette02_29-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-chaumette02_29-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">F. Chaumette. A first step toward visual servoing using image moments. In Pro- ceedings of the IEEE Conference on Intelligent Robots and Systems, pages 378–383, October 2002.</span>
</li>
<li id="cite_note-chaumette04-30"><span class="mw-cite-backlink">^ <a href="#cite_ref-chaumette04_30-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-chaumette04_30-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">F. Chaumette. Image moment:a general and useful set of features for visual servoing. IEEE Transactions on Robotics, 20(4):713–723, August 2004</span>
</li>
<li id="cite_note-tahri03-31"><span class="mw-cite-backlink">^ <a href="#cite_ref-tahri03_31-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-tahri03_31-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">O. Tahri and F. Chaumette. Application of moment invariants to visual servoing. In Proceedings of the IEEE Conference on Robots and Automation, pages 4276–4281, September 2003</span>
</li>
<li id="cite_note-tahri04-32"><span class="mw-cite-backlink">^ <a href="#cite_ref-tahri04_32-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-tahri04_32-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">O. Tahri and F. Chaumette. Image moments: Generic descriptors for decoupled image-based visual servoing. In Proceedings of the IEEE Conference on Robotics and Automation, pages 1861–1867, April 2004</span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text">O. Tahri and F. Chaumette. Complex objects pose estimation based on image moment invariants. In Proceedings of the IEEE Conference on Robots and Automation, pages 436–441, April 2005</span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text">O. Tahri and F. Chaumette. Point-based and region-based image moments for vi- sual servoing of planar objects. IEEE Transactions on Robotics, 21(6):1116–1127, December 2005</span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text">B. Espiau. Effect of camera calibration errors on visual servoing in robotics. In Third Int. Symposium on Experimental Robotics, October 1993</span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text">M. Jagersand, O. Fuentes, and R. Nelson. Experimental evaluation of uncalibrated visual servoing for precision manipulation. In International Conference on Robotics and Automation, pages 2874–2880, April 1997</span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text">V. Kyrki, D. Kragic, and H Christensen. Measurement errors in visual servoing. In Proceedings of the IEEE Conference on Robotics and Automation, pages 1861–1867, April 2004</span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text">E. Malis. Hybrid vision-based robot control robust to large calibration errors on both intrinsic and extrinsic camera parameters. In European Control Conference, pages 289–293, September 2001</span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text">E. Malis, F. Chaumette, and S. Boudet. 2-1/2-d visual servoing. IEEE Transactions on Robotics and Automation, 15(2):238–250, April 1999</span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text">G. Morel, P. Zanne, and F. Plestan. Robust visual servoing: Bounding the task func- tion tracking errors. IEEE Transactions on Control System Technology, 13(6):998– 1009, November 2009</span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text">G. Chesi and Y. S. Hung. Image noise induces errors in camera positioning. IEEE Transactions on Pattern Analysis and Machine Intelligence, 29(8):1476–1480, August 2007</span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text">E. Malis and P. Rives. Robustness of image-based visual servoing with respect to depth distribution errors. In IEEE International Conference on Robotics and Automation, September 2003</span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text">E. Malis, F. Chaumette, and S. Boudet. 2-1/2-d visual servoing. IEEE Transactions on Robotics and Automation, 15(2):238–250, April 1999</span>
</li>
<li id="cite_note-Marchand05a-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-Marchand05a_44-0">^</a></b></span> <span class="reference-text">E. Marchand, F. Spindler, F. Chaumette. <a rel="nofollow" class="external text" href="http://www.irisa.fr/lagadic/publi/publi/Marchand05b-eng.html">ViSP for visual servoing: a generic software platform with a wide class of robot control skills.</a> IEEE Robotics and Automation Magazine, Special Issue on "Software Packages for Vision-Based Control of Motion", P. Oh, D. Burschka (Eds.), 12(4):40-52, December 2005.</span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li>S. A. Hutchinson, G. D. Hager, and P. I. Corke. <a rel="nofollow" class="external text" href="http://citeseer.ist.psu.edu/76215.html">A tutorial on visual servo control.</a> IEEE Trans. Robot. Automat., 12(5):651—670, Oct. 1996.</li>
<li>F. Chaumette, S. Hutchinson. <a rel="nofollow" class="external text" href="http://www.irisa.fr/lagadic/publi/publi/Chaumette06a-eng.html">Visual Servo Control, Part I: Basic Approaches.</a> IEEE Robotics and Automation Magazine, 13(4):82-90, December 2006.</li>
<li>F. Chaumette, S. Hutchinson. <a rel="nofollow" class="external text" href="http://www.irisa.fr/lagadic/publi/publi/Chaumette07a-eng.html">Visual Servo Control, Part II: Advanced Approaches.</a> IEEE Robotics and Automation Magazine, 14(1):109-118, March 2007.</li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20091214154858/http://www.robot.uji.es/EURON/visualservoing/tutorial/">Notes from IROS 2004 tutorial on advanced visual servoing</a>.</li>
<li><a rel="nofollow" class="external text" href="https://www.springer.com/engineering/robotics/book/978-3-540-23957-4">Springer Handbook of Robotics</a> Chapter 24: Visual Servoing and Visual Tracking (François Chaumette, Seth Hutchinson)</li>
<li><a rel="nofollow" class="external text" href="http://robotics.engr.wisc.edu/">UW-Madison, Robotics and Intelligent Systems Lab</a></li>
<li><a rel="nofollow" class="external text" href="http://www.irisa.fr/lagadic/welcome-eng.html">INRIA Lagadic research group</a></li>
<li><a rel="nofollow" class="external text" href="https://limbs.lcsr.jhu.edu/Main_Page">Johns Hopkins University, LIMBS Laboratory</a></li>
<li><a rel="nofollow" class="external text" href="http://sirslab.dii.unisi.it/research/vision/">University of Siena, SIRSLab Vision &amp; Robotics Group</a></li>
<li><a rel="nofollow" class="external text" href="http://www.ic.is.tohoku.ac.jp/en/">Tohoku University, Intelligent Control Systems Laboratory</a></li>
<li><a rel="nofollow" class="external text" href="http://www-sop.inria.fr/documents/arobas/index_en.shtml">INRIA Arobas research group</a></li>
<li><a rel="nofollow" class="external text" href="http://robots.lasmea.univ-bpclermont.fr/">LASMEA, Rosace group</a></li>
<li><a rel="nofollow" class="external text" href="http://www-cvr.ai.uiuc.edu/~seth/">UIUC, Beckman Institute</a></li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Robotics434" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div id="Robotics434" style="font-size:114%;margin:0 4em"><a href="Robotics" title="Robotics">Robotics</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Main articles</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Outline_of_robotics" title="Outline of robotics">Outline</a></li>
<li><a href="Glossary_of_robotics" title="Glossary of robotics">Glossary</a></li>
<li><a href="Index_of_robotics_articles" title="Index of robotics articles">Index</a></li>
<li><a href="History_of_robots" title="History of robots">History</a></li>
<li><a href="Geography_of_robotics" title="Geography of robotics">Geography</a></li>
<li><a href="Robot_Hall_of_Fame" title="Robot Hall of Fame">Hall of Fame</a></li>
<li><a href="Robot_ethics" title="Robot ethics">Ethics</a></li>
<li><a href="Laws_of_robotics" title="Laws of robotics">Laws</a></li>
<li><a href="Robot_competition" title="Robot competition">Competitions</a></li>
<li><a href="Competitions_and_prizes_in_artificial_intelligence" title="Competitions and prizes in artificial intelligence">AI competitions</a></li></ul>
</div></td><td class="noviewer navbox-image" rowspan="8" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Robot" title="Robot">Types</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Aerobot" title="Aerobot">Aerobot</a></li>
<li><a href="Anthropomorphic" class="mw-redirect" title="Anthropomorphic">Anthropomorphic</a>
<ul><li><a href="Humanoid_robot" title="Humanoid robot">Humanoid</a></li>
<li><a href="Android_(robot)" title="Android (robot)">Android</a></li>
<li><a href="Cyborg" title="Cyborg">Cyborg</a></li>
<li><a href="Gynoid" title="Gynoid">Gynoid</a></li></ul></li>
<li><a href="Claytronics" class="mw-redirect" title="Claytronics">Claytronics</a></li>
<li><a href="Companion_robot" title="Companion robot">Companion</a></li>
<li><a href="Automaton" title="Automaton">Automaton</a>
<ul><li><a href="Animatronics" title="Animatronics">Animatronic</a>
<ul><li><a href="Audio-Animatronics" title="Audio-Animatronics">Audio-Animatronics</a></li></ul></li></ul></li>
<li><a href="Industrial_robot" title="Industrial robot">Industrial</a></li>
<li><a href="Articulated_robot" title="Articulated robot">Articulated</a>
<ul><li><a href="Robotic_arm" title="Robotic arm">arm</a></li></ul></li>
<li><a href="Domestic_robot" title="Domestic robot">Domestic</a></li>
<li><a href="Educational_robotics" title="Educational robotics">Educational</a></li>
<li><a href="Entertainment_robot" title="Entertainment robot">Entertainment</a></li>
<li><a href="Juggling_robot" title="Juggling robot">Juggling</a></li>
<li><a href="Military_robot" title="Military robot">Military</a></li>
<li><a href="Medical_robot" title="Medical robot">Medical</a></li>
<li><a href="Service_robot" title="Service robot">Service</a></li>
<li><a href="Disability_robot" class="mw-redirect" title="Disability robot">Disability</a></li>
<li><a href="Agricultural_robot" title="Agricultural robot">Agricultural</a></li>
<li><a href="Automated_restaurant" title="Automated restaurant">Food service</a></li>
<li><a href="Automated_retail" title="Automated retail">Retail</a></li>
<li><a href="BEAM_robotics" title="BEAM robotics">BEAM robotics</a></li>
<li><a href="Soft_robotics" title="Soft robotics">Soft robotics</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Classifications</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Biorobotics" title="Biorobotics">Biorobotics</a></li>
<li><a href="Cloud_robotics" title="Cloud robotics">Cloud robotics</a></li>
<li><a href="Continuum_robot" title="Continuum robot">Continuum robot</a></li>
<li><a href="Unmanned_vehicle" class="mw-redirect" title="Unmanned vehicle">Unmanned vehicle</a>
<ul><li><a href="Unmanned_aerial_vehicle" title="Unmanned aerial vehicle">aerial</a></li>
<li><a href="Unmanned_ground_vehicle" title="Unmanned ground vehicle">ground</a></li></ul></li>
<li><a href="Mobile_robot" title="Mobile robot">Mobile robot</a></li>
<li><a href="Microbotics" title="Microbotics">Microbotics</a></li>
<li><a href="Nanorobotics" title="Nanorobotics">Nanorobotics</a></li>
<li><a href="Necrobotics" title="Necrobotics">Necrobotics</a></li>
<li><a href="Robotic_spacecraft" class="mw-redirect" title="Robotic spacecraft">Robotic spacecraft</a>
<ul><li><a href="Space_probe" class="mw-redirect" title="Space probe">Space probe</a></li></ul></li>
<li><a href="Swarm_robotics" title="Swarm robotics">Swarm</a></li>
<li><a href="Telerobotics" title="Telerobotics">Telerobotics</a></li>
<li><a href="Autonomous_underwater_vehicle" title="Autonomous underwater vehicle">Underwater</a>
<ul><li><a href="Remotely_operated_underwater_vehicle" title="Remotely operated underwater vehicle">remotely-operated</a></li>
<li><a href="Robotic_fish" class="mw-redirect" title="Robotic fish">Robotic fish</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Robot_locomotion" title="Robot locomotion">Locomotion</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Continuous_track" title="Continuous track">Tracks</a></li>
<li><a href="Legged_robot" title="Legged robot">Walking</a>
<ul><li><a href="Hexapod_(robotics)" title="Hexapod (robotics)">Hexapod</a></li></ul></li>
<li><a href="Climber_(BEAM)" class="mw-redirect" title="Climber (BEAM)">Climbing</a></li>
<li><a href="Electric_unicycle" title="Electric unicycle">Electric unicycle</a></li>
<li><a href="Robotic_fin" class="mw-redirect" title="Robotic fin">Robotic fins</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Robotic_navigation" class="mw-redirect" title="Robotic navigation">Navigation</a> and <a href="Robotic_mapping" title="Robotic mapping">mapping</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Motion_planning" title="Motion planning">Motion planning</a></li>
<li><a href="Simultaneous_localization_and_mapping" title="Simultaneous localization and mapping">Simultaneous localization and mapping</a></li>
<li><a href="Visual_odometry" title="Visual odometry">Visual odometry</a></li>
<li><a href="Vision-guided_robot_systems" title="Vision-guided robot systems">Vision-guided robot systems</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Research</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Evolutionary_robotics" title="Evolutionary robotics">Evolutionary</a></li>
<li><a href="Robot_kit" title="Robot kit">Kits</a></li>
<li><a href="Robotics_simulator" title="Robotics simulator">Simulator</a></li>
<li><a href="Robotics_suite" title="Robotics suite">Suite</a></li>
<li><a href="Open-source_robotics" title="Open-source robotics">Open-source</a></li>
<li><a href="Robot_software" title="Robot software">Software</a></li>
<li><a href="Adaptable_robotics" title="Adaptable robotics">Adaptable</a></li>
<li><a href="Developmental_robotics" title="Developmental robotics">Developmental</a></li>
<li><a href="Human%E2%80%93robot_interaction" title="Human–robot interaction">Human–robot interaction</a></li>
<li><a href="Robotic_paradigm" title="Robotic paradigm">Paradigms</a></li>
<li><a href="Perceptual_robotics" title="Perceptual robotics">Perceptual</a></li>
<li><a href="Situated_robotics" title="Situated robotics">Situated</a></li>
<li><a href="Ubiquitous_robot" title="Ubiquitous robot">Ubiquitous</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_robotics_companies" title="List of robotics companies">Companies</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ABB" title="ABB">ABB</a></li>
<li><a href="Amazon_Robotics" title="Amazon Robotics">Amazon Robotics</a></li>
<li><a href="Anybots" title="Anybots">Anybots</a></li>
<li><a href="Barrett_Technology" title="Barrett Technology">Barrett Technology</a></li>
<li><a href="Boston_Dynamics" title="Boston Dynamics">Boston Dynamics</a></li>
<li><a href="Doosan_Robotics" title="Doosan Robotics">Doosan Robotics</a></li>
<li><a href="Energid_Technologies" title="Energid Technologies">Energid Technologies</a></li>
<li><a href="FarmWise" title="FarmWise">FarmWise</a></li>
<li><a href="FANUC" title="FANUC">FANUC</a></li>
<li><a href="Figure_AI" title="Figure AI">Figure AI</a></li>
<li><a href="Foster-Miller" title="Foster-Miller">Foster-Miller</a></li>
<li><a href="Harvest_Automation" title="Harvest Automation">Harvest Automation</a></li>
<li><a href="HD_Hyundai_Robotics" title="HD Hyundai Robotics">HD Hyundai Robotics</a></li>
<li><a href="Honeybee_Robotics" title="Honeybee Robotics">Honeybee Robotics</a></li>
<li><a href="Intuitive_Surgical" title="Intuitive Surgical">Intuitive Surgical</a></li>
<li><a href="IRobot" title="IRobot">IRobot</a></li>
<li><a href="KUKA" title="KUKA">KUKA</a></li>
<li><a href="Rainbow_Robotics" title="Rainbow Robotics">Rainbow Robotics</a></li>
<li><a href="Starship_Technologies" title="Starship Technologies">Starship Technologies</a></li>
<li><a href="Symbotic" title="Symbotic">Symbotic</a></li>
<li><a href="Universal_Robotics" title="Universal Robotics">Universal Robotics</a></li>
<li><a href="Wolf_Robotics" title="Wolf Robotics">Wolf Robotics</a></li>
<li><a href="Yaskawa_Electric_Corporation" title="Yaskawa Electric Corporation">Yaskawa</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Critique_of_work" title="Critique of work">Critique of work</a></li>
<li><a href="Powered_exoskeleton" class="mw-redirect" title="Powered exoskeleton">Powered exoskeleton</a></li>
<li><a href="Workplace_robotics_safety" title="Workplace robotics safety">Workplace robotics safety</a>
<ul><li><a href="Robotic_tech_vest" title="Robotic tech vest">Robotic tech vest</a></li></ul></li>
<li><a href="Technological_unemployment" title="Technological unemployment">Technological unemployment</a></li>
<li><a href="Terrainability" title="Terrainability">Terrainability</a></li>
<li><a href="List_of_fictional_robots_and_androids" title="List of fictional robots and androids">Fictional robots</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="3"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category</b></li>
<li><span class="noviewer" typeof="mw:File"><span title="Outline"></span></span> <b><a href="Outline_of_robotics" title="Outline of robotics">Outline</a></b></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-11-22" href="https://en.wikipedia.org/wiki/?title=Visual_servoing&amp;oldid=1258898147">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>